/**
 * @Author 12629
 * @Description：
 */
/*class MyArray {
    public Object[] array = new Object[10];

    //默认放到数组的最后一个位置
    public void setValue(int pos,Object val) {
        array[pos] = val;
    }

    public Object getValue(int pos) {
        return array[pos];
    }
}*/

import com.sun.org.apache.regexp.internal.RE;

/**
 *
 * @param <T> 当前类 是一个泛型类 它只是一个占位符
 *
 */
class MyArray <T> {
    //public T[] array = (T[]) new Object[10];

    public Object[] array = new Object[10];
    //默认放到数组的最后一个位置
    public void setValue(int pos,T val) {
        array[pos] = val;
    }

    public T getValue(int pos) {
        return (T)array[pos];//把返回的类型 强转为指定类型
    }

    public Object[] getArray() {
        return array;
    }
}


public class Test2 {
    public static void main(String[] args) {
        MyArray<Integer> myArray1 = new MyArray<>();
        //[1,  "fdsfa"  ]
        Object[] integers = myArray1.getArray();


    }
    //就是将类型 进行了传递
    public static void main1(String[] args) {
        MyArray<Integer> myArray = new MyArray<>();
        myArray.setValue(0,10);
        myArray.setValue(1,100);

        int a = myArray.getValue(1);

        System.out.println(a);

        MyArray<String> myArray2 = new MyArray<>();
        myArray2.setValue(0,"abcd");
        myArray2.setValue(1,"efg");
        String ret = myArray2.getValue(1);
        System.out.println(ret);
    }
}
